package com.github.prontera.domain;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.github.prontera.domain.enums.YesOrNoEnum;
import com.github.prontera.model.BasicDomain;
import com.github.prontera.util.URLUtils;

import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * 
 * c_coterie-友圈
 *
 */
@ToString
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class Coterie extends BasicDomain{

	private static final long serialVersionUID = 1L;
    
	/**
	 * 标题
	 */
	@ApiModelProperty(value = "标题")
    private String title;
	/**
	 * 内容
	 */
	@ApiModelProperty(value = "内容")
    private String content;
	/**
	 * 内容
	 */
	@ApiModelProperty(value = "内容")
	private String content_;
	/**
	 * 多媒体URL
	 */
	@ApiModelProperty(value = "多媒体URL")
    private String mediaUrls;
	/**
	 * 查看次数
	 */
	@ApiModelProperty(value = "查看次数")
    private Integer viewCount;
	/**
	 * 图片个数
	 */
	@ApiModelProperty(value = "图片个数")
	private Integer imageCount;
	/**
	 * 视频个数
	 */
	@ApiModelProperty(value = "视频个数")
	private Integer videoCount;
	
	
	@ApiModelProperty(value = "是否已经购买,0:是,1:不是")
    private YesOrNoEnum hasBuy;
	
	/**
	 * 用户名
	 */
	@ApiModelProperty(value = "用户名")
    private String username;
	
	private Client client;
	/**
	 * 标签ID
	 */
	@ApiModelProperty(value = "标签ID")
	private Long clientRentId;
	
	/**
	 * 是否是自己发布得圈子
	 */
	@ApiModelProperty(value = "是否是自己发布得圈子")
	private Boolean hasMyCoterie;
	/**
	 * 标签ID
	 */
	@ApiModelProperty(value = "标签ID")
	private ClientRent clientRent;
	
	@ApiModelProperty(value = "标签")
    private String rentTxt;
	
	
	public String getRentTxt() {
		return rentTxt;
	}

	public void setRentTxt(String rentTxt) {
		this.rentTxt = rentTxt;
	}

	private Long fllowClientId;
	
	public Long getFllowClientId() {
		return fllowClientId;
	}

	public void setFllowClientId(Long fllowClientId) {
		this.fllowClientId = fllowClientId;
	}

	public ClientRent getClientRent() {
		return clientRent;
	}

	public void setClientRent(ClientRent clientRent) {
		this.clientRent = clientRent;
	}

	public Boolean getHasMyCoterie() {
		return hasMyCoterie;
	}

	public void setHasMyCoterie(Boolean hasMyCoterie) {
		this.hasMyCoterie = hasMyCoterie;
	}

	public Long getClientRentId() {
		return clientRentId;
	}

	public void setClientRentId(Long clientRentId) {
		this.clientRentId = clientRentId;
	}

	/**
	 * @return the username
	 */
	public String getUsername() {
		return username;
	}

	/**
	 * @param username the username to set
	 */
	public void setUsername(String username) {
		this.username = username;
	}

	public YesOrNoEnum getHasBuy() {
		return hasBuy;
	}

	public void setHasBuy(YesOrNoEnum hasBuy) {
		this.hasBuy = hasBuy;
	}

	public String getContent_() {
		return URLUtils.decodeURL(content);
	}
	
	public Integer getImageCount() {
		return imageCount;
	}

	public void setImageCount(Integer imageCount) {
		this.imageCount = imageCount;
	}

	public Integer getVideoCount() {
		return videoCount;
	}

	public void setVideoCount(Integer videoCount) {
		this.videoCount = videoCount;
	}

	public String setContent_() {
		return URLUtils.encodeURL(content);
	}
	
    public Coterie(){
    
    }
    
    public Client getClient() {
		return client;
	}

	public void setClient(Client client) {
		this.client = client;
	}

	public String getTitle() {
        return this.title;
    }
    
    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return this.content;
    }
    
    public void setContent(String content) {
        this.content = content;
    }
    public String getMediaUrls() {
        return this.mediaUrls;
    }
    
    public void setMediaUrls(String mediaUrls) {
        this.mediaUrls = mediaUrls;
    }
    public Integer getViewCount() {
        return this.viewCount;
    }
    
    public void setViewCount(Integer viewCount) {
        this.viewCount = viewCount;
    }
    
}
